'''
·获取列表中的多个元素
·语法格式
列表名[ start : stop : step ]
切片的结果——原列表片段的拷贝
切片的范围——[start,stop) step默认为1,简写为[start:stop]

step为正数  [:stop:step] 切片的第1个元素默认是列表的第一个元素          从start开始往后计算切片
           [start::step]切片的最后一个元素默认是列表的最后一个元素
step为负数  [:stop:step] 切片的第1个元素默认是列表的最后一个元素         从start开始往前计算切片
           [start::step]切片的最后一个元素默认是列表的第一个元素
'''
lst=[10,20,30,40,50,60,70,80]
lst2=lst[1:6:1]
print(lst2)   #索引列表号1-5  [20, 30, 40, 50, 60]
print('原列表',id(lst))
'''2258998011840'''
print('切的片段:',id(lst2))
'''2258998421120'''
#地址不一样

print(lst[1:6:])  #[20, 30, 40, 50, 60]

#start=l,stop=6,step=2
print(lst[1:6:2])
'''[20, 40, 60]'''

#stop=6,step=2,start采用默认
print(lst[:6:2])
'''[10, 30, 50]'''

#start=l,step=2,stop采用默认
print(lst[1::2])
'''[20, 40, 60, 80]'''

print('------step步长为负数的情况-------')
print('原列表:',lst)
'''[10, 20, 30, 40, 50, 60, 70, 80]'''

print(lst[::-1])
'''[80, 70, 60, 50, 40, 30, 20, 10]'''

#start=7,stop省略step=-1
print(lst[7::-1])
'''[80, 70, 60, 50, 40, 30, 20, 10]'''

#start=6,stop=0,step=-2 到0但不包含0
print(lst[6:0:-2])
'''[70, 50, 30]'''



